const baseURL = 'http://localhost:8080/'; // 在app.js的globalData里加入baseURL
function get(url, param, callback) {
   // load提示框，可以自定义
   wx.showLoading({
      title: "加载中...",
      mask: true,
   });
   // 从缓存中获取token
   let token = '';
   // 这里的jwt是直接返回了一个jwt令牌，并没有存入redis中
   // console.log('开始从缓存中获取jwt')
   const list = wx.getStorageSync('token') // 这取出来的是一个对象
   token = 'Bearer ' + list.token + ''
   if (!token) {
      // console.log('缓存中没有jwt')
      return;
   }
   return new Promise((resolve, reject) => {
      wx.request({
         url: baseURL + url, // 基础路由 + 传过来的地址
         data: param,
         header: {
            "content-type": "application/json", // 默认值
            'Authorization': token

         },
         success: function success(res) {
            wx.hideLoading(); // 隐藏load框
            // 以下为响应拦截，举例，根据后端给的状态码，在这里做个简单的拦截
            // 如果token过期了，就到这里然后清除本地缓存
            if (res.data.code == 255) {
               wx.showModal({
                  content: "需要登录",
                  success(res) {
                     //   if (res.confirm) {
                     //      wx.navigateTo({
                     //         url: "../../loginInfo/login/login",
                     //      });
                     //   } else if (res.cancel) {
                     //      wx.navigateBack();
                     //   }
                  },
               });
            } else {
               // 成功后的回调
               resolve(res.data)
            }
         },
         fail: (error) => {
            // console.log('请求失败')
            reject(error)
         }
      });

   })
}

// 和get同理
function post(url, param, callback) {
   wx.showLoading({
      title: "加载中...",
      mask: true,
   });
   // 从缓存中获取token
   var token;
   // console.log('开始从缓存中获取jwt')
   const list = wx.getStorageSync('token') // 这取出来的是一个对象
   token = 'Bearer ' + list.token + ''
   return new Promise((resolve, reject) => {
      wx.request({
         url: baseURL + url, //仅为示例，并非真实的接口地址
         data: param,
         method: "POST",
         header: {
            "content-type": "application/json", // 默认值
            'Authorization': token
         },
         success: function success(res) {
            wx.hideLoading();
            if (res.data.code == 255) {
               wx.showModal({
                  content: "需要登录",
                  success(res) {
                     //   if (res.confirm) {
                     //      wx.navigateTo({
                     //         url: "../../loginInfo/login/login",
                     //      });
                     //   } else if (res.cancel) {
                     //      wx.navigateBack();
                     //   }
                  },
               });
            } else {
               resolve(res.data)
            }
         },
         fail: (error) => {
            // console.log('请求失败')
            reject(error)
         }
      });
   })
}



// 删除方法
function Delete1(url, param, callback) {
   wx.showLoading({
      title: "加载中...",
      mask: true,
   });
   // 从缓存中获取token
   var token;
   // console.log('开始从缓存中获取jwt')
   const list = wx.getStorageSync('token') // 这取出来的是一个对象
   token = 'Bearer ' + list.token + ''
   return new Promise((resolve, reject) => {
      wx.request({
         url: baseURL + url, //仅为示例，并非真实的接口地址
         data: param,
         method: "DELETE",
         header: {
            "content-type": "application/json", // 默认值
            'Authorization': token
         },
         success: function success(res) {
            wx.hideLoading();
            if (res.data.code == 255) {
               wx.showModal({
                  content: "需要登录",
                  success(res) {
                     //   if (res.confirm) {
                     //      wx.navigateTo({
                     //         url: "../../loginInfo/login/login",
                     //      });
                     //   } else if (res.cancel) {
                     //      wx.navigateBack();
                     //   }
                  },
               });
            } else {
               resolve(res.data)
               callback(res.data);
            }
         },
         fail: (error) => {
            // console.log('请求失败')
            reject(error)
         }
      });
   })
}

// 获取页面路径
function getUrl() {
   const pages = getCurrentPages();
   const currentPage = pages[pages.length - 1];
   const url = `/${currentPage.route}`;
   console.log(url);
   wx.setStorage({
      key: "Url",
      data: url,
   });
}

module.exports = {
   get,
   post,
   getUrl,
   Delete1
};